// 查看其他用户资料页面逻辑
const app = getApp();
const tokenManager = require('../../utils/tokenManager');

Page({
  data: {
    userId: null,
    userInfo: null,
    loading: false,
    error: null
  },
  
  onLoad(options) {
    // 检查登录状态
    if (!tokenManager.isLoggedIn()) {
      this.redirectToLogin();
      return;
    }
    
    // 获取用户ID参数
    const userId = options.id;
    if (!userId) {
      this.setData({ 
        error: '未指定用户ID'
      });
      return;
    }
    
    this.setData({ userId });
    this.loadUserInfo(userId);
  },
  
  /**
   * 加载用户信息
   * @param {string|number} userId - 要查看的用户ID
   */
  async loadUserInfo(userId) {
    this.setData({ loading: true, error: null });
    
    try {
      const token = tokenManager.getAccessToken();
      const userInfo = await app.api.user.getUserProfile(token, userId);
      
      this.setData({
        userInfo,
        loading: false
      });
    } catch (error) {
      console.error('获取用户信息失败', error);
      
      let errorMsg = '获取用户信息失败';
      if (error.code === 404) {
        errorMsg = '用户不存在';
      } else if (error.code === 403) {
        errorMsg = '无权查看该用户信息';
      }
      
      this.setData({ 
        loading: false,
        error: errorMsg
      });
    }
  },
  
  /**
   * 跳转到登录页
   */
  redirectToLogin() {
    // 保存当前页面路径，登录后返回
    const currentPage = `/pages/user/otherProfile?id=${this.data.userId}`;
    wx.setStorageSync('prevPage', currentPage);
    
    wx.redirectTo({
      url: '/pages/login/login'
    });
  },
  
  /**
   * 返回上一页
   */
  goBack() {
    wx.navigateBack();
  }
}); 